/*
给定一个链表，两两交换其中相邻的节点，并返回交换后的链表。
你不能只是单纯的改变节点内部的值，而是需要实际的进行节点交换。

输入：[1,2,3,4] 输出：[2,1,4,3]
*/
void chain::swapNeighbor(){
    node*dummyHead=new node();
    dummyHead->next=head;
    node*pre=dummyHead;
    node*left=head;
    node*right=head->next;
    node*leftNext=right->next;
    while(left!=0){
        left->next=leftNext;
        right->next=left;
        pre->next=right;
        pre=left;
        left=leftNext;
        if(left!=0)
        {
            right=left->next;
            leftNext=right->next;
        }
    }
    head=dummyHead->next;
    dummyHead->next=0;
    delete dummyHead;
}